<template>
  <div class="">
    <van-form @submit="onSubmit">
      <van-field
        v-model="username"
        name="userName"
        label="用户名"
        placeholder="用户名"
        :rules="[{ required: true, message: '请填写用户名' }]"
      />
      <van-field
        v-model="password"
        type="password"
        name="password"
        label="密码"
        placeholder="密码"
        :rules="[{ required: true, message: '请填写密码' }]"
      />
      <div style="margin: 16px;">
        <van-button round block type="info" native-type="submit"
          >登录</van-button
        >
      </div>
      <div style="margin: 16px;">
        <van-button
          round
          block
          type="default"
          @click="$router.push({ path: '/register' })"
          >还没有账号？去注册</van-button
        >
      </div>
    </van-form>
  </div>
</template>

<script>
import { reqLoginAPI } from "../../api/user";
import { setToken } from "../../utils/auth"; //引入token
import Vue from "vue";
import { Toast } from "vant";

Vue.use(Toast);
export default {
  data() {
    return {
      username: "",
      password: "",
    };
  },
  computed: {},
  watch: {},

  methods: {
    async onSubmit(values) {
      console.log("submit", values);
      //登录
      const result = await reqLoginAPI(values);
      console.log(result);
      if (result.code == "success") {
        //如果登录成功，把token存入cookie
        setToken(result.token);
        //存入vuex状态管理里面
        this.$store.commit("saveToken", result.token);
        //还要存入本地缓存，如何根据本地缓存，防止刷新后 vuex保存的token丢失
        localStorage.setItem("token", result.token);
        Toast.success("登录成功");
        // 登录成功跳转到个人页面
        this.$router.push({
          path: "/mine",
        });
      }
    },
  },
  created() {},
  mounted() {},
  components: {},
};
</script>
<style scoped></style>
